(define zero? (lambda (x) (= x 0)))
(define sub1 (lambda (x) (- x 1)))
(define not (lambda (x) (if x #f #t)))

(define foo
  (letrec ((is-even? (lambda (n)
                       (if (zero? n)
                           #t
                           (is-odd? (sub1 n)))))
           (is-odd? (lambda (n)
                      (if (not (zero? n))
                          (is-even? (sub1 n))
                          #f))))
    (print (is-odd? 12312312))))
